Skip to content

Bump GitHub.Copilot.SDK from 0.1.32 to 0.2.0#107

Merged
SIkebe merged 1 commit into
mainfrom
dependabot/nuget/src/CopilotSdkPlayground.UnitTests/GitHub.Copilot.SDK-0.2.0
Mar 21, 2026
Merged

Bump GitHub.Copilot.SDK from 0.1.32 to 0.2.0#107
SIkebe merged 1 commit into
mainfrom
dependabot/nuget/src/CopilotSdkPlayground.UnitTests/GitHub.Copilot.SDK-0.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 20, 2026

Copy link
Copy Markdown
Contributor

Updated GitHub.Copilot.SDK from 0.1.32 to 0.2.0.

Release notes

Sourced from GitHub.Copilot.SDK's releases.

0.2.0

This is a big update with a broad round of API refinements, new capabilities, and cross-SDK consistency improvements that have shipped incrementally through preview releases since v0.1.32.

Highlights

Fine-grained system prompt customization

A new "customize" mode for systemMessage lets you surgically edit individual sections of the Copilot system prompt — without replacing the entire thing. Ten sections are configurable: identity, tone, tool_efficiency, environment_context, code_change_rules, guidelines, safety, tool_instructions, custom_instructions, and last_instructions.

Each section supports four static actions (replace, remove, append, prepend) and a transform callback that receives the current rendered content and returns modified text — useful for regex mutations, conditional edits, or logging what the prompt contains. (#​816)

const session = await client.createSession({
  onPermissionRequest: approveAll,
  systemMessage: {
    mode: "customize",
    sections: {
      identity: {
        action: (current) => current.replace("GitHub Copilot", "Acme Assistant"),
      },
      tone: { action: "replace", content: "Be concise and professional." },
      code_change_rules: { action: "remove" },
    },
  },
});
var session = await client.CreateSessionAsync(new SessionConfig {
    OnPermissionRequest = PermissionHandler.ApproveAll,
    SystemMessage = new SystemMessageConfig {
        Mode = SystemMessageMode.Customize,
        Sections = new Dictionary<string, SectionOverride> {
            ["identity"] = new() {
                Transform = current => Task.FromResult(current.Replace("GitHub Copilot", "Acme Assistant")),
            },
            ["tone"] = new() { Action = SectionOverrideAction.Replace, Content = "Be concise and professional." },
            ["code_change_rules"] = new() { Action = SectionOverrideAction.Remove },
        },
    },
});

OpenTelemetry support across all SDKs

All four SDK languages now support distributed tracing with the Copilot CLI. Set telemetry in your client options to configure an OTLP exporter; W3C trace context is automatically propagated on session.create, session.resume, and session.send, and restored in tool handlers so tool execution is linked to the originating trace. (#​785)

const client = new CopilotClient({
  telemetry: {
    otlpEndpoint: "http://localhost:4318",
 ... (truncated)

## 0.1.33-preview.4

### Feature: fine-grained system prompt customization

A new `"customize"` mode for `systemMessage` lets you selectively override individual sections of the Copilot system prompt  without replacing the entire prompt. This sits between `"append"` (add to the end) and `"replace"` (replace everything). ([#​816](https://github.com/github/copilot-sdk/pull/816))

Ten sections are configurable: `identity`, `tone`, `tool_efficiency`, `environment_context`, `code_change_rules`, `guidelines`, `safety`, `tool_instructions`, `custom_instructions`, and `last_instructions`.

Each section supports four static actions (`replace`, `remove`, `append`, `prepend`) and a `transform` action — a callback that receives the current rendered section content and returns the modified version, enabling regex mutations, logging, or conditional edits.

```ts
const session = await client.createSession({
  systemMessage: {
    mode: "customize",
    sections: {
      identity: {
        // transform: read current content and return modified content
        action: (current) => current.replace("GitHub Copilot", "Acme Assistant"),
      },
      tone: { action: "replace", content: "Be concise and professional." },
      code_change_rules: { action: "remove" },
    },
  },
});
var session = await client.CreateSessionAsync(new SessionOptions {
    SystemMessage = new SystemMessageOptions {
        Mode = SystemMessageMode.Customize,
        Sections = new Dictionary(string, SectionOverride) {
            ["identity"] = new() {
                Transform = current => current.Replace("GitHub Copilot", "Acme Assistant"),
            },
            ["tone"] = new() { Action = "replace", Content = "Be concise and professional." },
            ["code_change_rules"] = new() { Action = "remove" },
        },
    },
});

Generated by Release Changelog Generator

Generated by Release Changelog Generator

0.1.33-preview.3

Feature: OpenTelemetry support across all SDKs

All four SDK languages now support distributed tracing with the Copilot CLI. Set telemetry in your client options to configure an OTLP exporter; W3C trace context is then propagated on session.create, session.resume, and session.send, and restored in tool handlers so tool execution is linked to the originating trace. (#​785)

const client = new CopilotClient({
  telemetry: {
    otlpEndpoint: "(localhost/redacted)
    sourceName: "my-app",
  },
});
var client = new CopilotClient(new CopilotClientOptions {
    Telemetry = new TelemetryConfig {
        OtlpEndpoint = "(localhost/redacted)
        SourceName = "my-app",
    },
});

Feature: blob attachment type for inline base64 data

A new blob attachment type lets you send images or other binary content directly to a session without writing to disk first — useful when data is already in memory (screenshots, API responses, generated images). (#​731)

await session.send("What's in this image?", {
  attachments: [{ type: "blob", data: base64Str, mimeType: "image/png" }],
});
await session.SendAsync("What's in this image?", new MessageOptions {
    Attachments = [new BlobAttachment { Data = base64Str, MimeType = "image/png" }],
});

Feature: Node.js CommonJS (CJS) compatibility

The Node.js SDK now ships both ESM and CJS builds, fixing crashes in VS Code extensions and other tools bundled with esbuild's format: "cjs". No changes needed in consumer code — Node automatically selects the right format. (#​546)

Feature: reasoningEffort when switching models

All SDKs now accept an optional reasoningEffort parameter in setModel() for models that support it. (#​712)

await session.setModel("claude-sonnet-4.6", { reasoningEffort: "high" });

... (truncated)

0.1.33-preview.0

Feature: pre-select a custom agent at session creation

You can now specify which custom agent should be active when a session starts, without needing a separate session.rpc.agent.select() call. (#​722)

const session = await client.createSession({
  customAgents: [
    { name: "researcher", prompt: "You are a research assistant." },
    { name: "editor", prompt: "You are a code editor." },
  ],
  agent: "researcher",  // active agent at session start
  onPermissionRequest: approveAll,
});
var session = await client.CreateSessionAsync(new SessionConfig {
    CustomAgents = [
        new CustomAgentConfig { Name = "researcher", Prompt = "You are a research assistant." },
        new CustomAgentConfig { Name = "editor", Prompt = "You are a code editor." },
    ],
    Agent = "researcher",  // active agent at session start
});

Feature: custom model listing for BYOK

Applications using bring-your-own-key providers can now supply onListModels in client options to override client.listModels() with their own model list, instead of forwarding the call to the CLI. (#​730)

const client = new CopilotClient({ onListModels: () => myProviderModels });
var client = new CopilotClient(new CopilotClientOptions {
    OnListModels = () => Task.FromResult(myProviderModels)
});
  • Python: on_list_models=lambda: my_provider_models
  • Go: OnListModels: func(ctx context.Context) ([]copilot.ModelInfo, error) { return myModels, nil }

Feature: new events and APIs (system notifications, session log, extension support)

Updated to match the latest CLI runtime, adding: system.notification events, a session log RPC API, reasoningEffort changes after model switch, alreadyInUse flag on sessions, and the groundwork for extension-based integrations. (#​737)

Other changes

  • feature: add no-result permission outcome so extensions can attach to sessions without actively answering permission requests (#​802)
  • bugfix: fix race condition where events emitted during session creation (e.g. session.start) could be dropped; also adds OnEvent catch-all handler to SessionConfig (#​664)
    ... (truncated)

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: GitHub.Copilot.SDK
  dependency-version: 0.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Mar 20, 2026
@dependabot dependabot Bot requested a review from SIkebe as a code owner March 20, 2026 22:16
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Mar 20, 2026
@SIkebe SIkebe merged commit 6f6f705 into main Mar 21, 2026
5 checks passed
@SIkebe SIkebe deleted the dependabot/nuget/src/CopilotSdkPlayground.UnitTests/GitHub.Copilot.SDK-0.2.0 branch March 21, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant